package br.org.desa.agendaescolar.modelo;

import java.io.Serializable;
import java.util.GregorianCalendar;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import static javax.persistence.GenerationType.IDENTITY;


@Entity
public class Usuario implements Serializable{
	
	@Id 
	@GeneratedValue(strategy=IDENTITY)
    private Long codigo;
	@Basic
	private String nome;
	@Basic
	private String sobrenome;
	@Transient
	private String nomeCompleto;
	@Column(unique=true, nullable=false) 
	private String login;
	@Basic
	private String senha;
	@Enumerated(EnumType.STRING)
	private TipoUsuario tipoUsuario;
	@Basic
	private String nomeMae;
	@Temporal(TemporalType.TIMESTAMP)
	private GregorianCalendar dataAniversario;
	@Basic
	private String turma;
		
	
		public Usuario(){}
	
		
	public Long getCodigo() {
		return codigo;
	}
	
	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public String getSobrenome() {
		return sobrenome;
	}

	public void setSobrenome(String sobrenome) {
		this.sobrenome = sobrenome;
	}
	
	public String getNomeCompleto() {
		this.nomeCompleto = this.nome+ " "+ this.sobrenome;
		return nomeCompleto;
	}

	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

	public TipoUsuario getTipoUsuario() {
		return tipoUsuario;
	}

	public void setTipoUsuario(TipoUsuario tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}

	public String getNomeMae() {
		return nomeMae;
	}

	public void setNomeMae(String nomeMae) {
		this.nomeMae = nomeMae;
	}


	public GregorianCalendar getDataAniversario() {
		return dataAniversario;
	}


	public void setDataAniversario(GregorianCalendar dataAniversario) {
		this.dataAniversario = dataAniversario;
	}


	public String getTurma() {
		return turma;
	}


	public void setTurma(String turma) {
		this.turma = turma;
	}
	
	
}
